The present invention refers to a method for integrating an arrangement of a number of computerised client systems being independent of each other by permitting communication between the client systems, each client system having a system-specific structure and being adapted to process information in a system-specific native format.
Furthermore, the invention refers to a device for integrating an arrangement of a number of computerised client systems being independent of each other by permitting communication between the client systems, each client system having a system-specific structure and being adapted to process information in a system-specific native format.
Today, firms and organisations frequently rely for their daily processes on a number of different software applications on one or several hardware structures, i.e. computerised client systems, which are operating independently of each other. There is a need to integrate such essentially arbitrary client systems to make them co-operate and exchange data. Such integration is provided by connecting pairs of client systems to each other at a low system level by means of translation programs using different communication protocols. However, in order to obtain a global integration of the different client systems a myriad of specialised system-to-system programs is provided. The result is a spaghetti-like tangle of complex system inter-dependencies forming an effective gridlock for any further system development. Moreover, since the different client systems may not operate independently of each other any longer, the performance and the efficiency of each system is significantly reduced.
It has been proposed to integrate a number of independent client systems by the provision of an integrating server to which all of said client systems are connected. However, such an integrating server quickly grows to a very complicated client system which requires a considerable amount of computer programming work. In addition, such an integrating server need to be modified each time a new client system is to be integrated, or when a software application or a hardware structure is upgraded or replaced in any of the client systems.
The Swedish patent application No. 9803579-3, which corresponds to the U.S. patent application Ser. No. 09/211,462 and which belongs to the Applicant of the present application, discloses a device for and a method of integrating an arrangement of a number of computerised essentially arbitrary client systems. The content of these prior applications are incorporated herein by reference.
A further problem in connection with such an integration is that the integration process is complicated and requires a sophisticated software and hardware infrastructure. Thus, the tools for the integration are not immediately available to a possible user.
Moreover, a considerable investment is to be made before the integration may be realised, and thus before the user can rely on the function and the use of the integration.
The object of the present invention is to facilitate the integration process for integrating different computerised client systems.
In particular, it is aimed at a method and a device offering a high availability for any possible user to the integration process, and moreover enabling a substantial reduction of the investment costs in connection with the initial phase of the integration.
This object is obtained by a method for integrating an arrangement of a number of computerised client systems being independent of each other by permitting communication between the client systems, each client system having a system-specific structure and being adapted to process information in a system-specific native format, the method comprising the steps of:
providing an integrating platform accessible to the client systems via a network;
providing a primary connection between a user and said integrating platform via said network;
describing interactively the client systems to be integrated and transferring said description via said primary connection and said network from the user to said integrating platform;
generating, by means of said description, an integrating engine at said integrating platform and a number of communication connections for the exchange of information between the client systems and said integrating engine;
integrating the client systems by means of said integrating engine via said communication connections and said network; and
operating the arrangement, whereby information in a system-specific format from one client system is processed in another system-specific format by another client system.
By providing such an integrating platform via a network, all the tools, which are required for the achievement of the integration of a number of essentially arbitrary client systems, are available to any user who may initiate and complete the integration via said network. Such a high availability is an important advantage enabling for a user to test the function and the operation of the integration, i.e. a selected number of integrated client systems, be fore a final investment decision is taken,
The network may be realised by a public network, such as Internet, wherein the integrating platform may be available via a public web-server a private network, such as an Intranet, wherein the integrating platform may be available via a web-server connected only to the intranet, or any other network.
The integrating engine, which is arranged to operate the integration, may be located on the integrating platform. Said description of each client system is made by the user in interactive communication with the integrating platform, and enables the generation of the integrating engine as source code files forming the transformation means required to permit the exchange of the information between the different client systems. The integrating platform may comprise an input means including an interface, especially a graphical user interface, GUI, available via the network for facilitating to the user to describe the client systems to be integrated.
According to an embodiment of the invention, the method comprises the further steps of: generating, for each communication connection and by means of said description, a client adapter adapted to the system-specific format and the system-specific structure of respective client system for the exchange of information in the system-specific native format; and implementing said client adapter on the respective client system. Each client adapter may comprise an interface for the respective client system by means of which the client system may publish any information to the integrating engine or subscribe on any information from the integrating engine. Preferably, the client adapter interface is an Application Program Interface, API. Each client adapter is transferred to the respective client system, preferably via the network, for the operation of the arrangement.
According to a further embodiment of the invention, the method comprises the further steps of: generating, for each communication connection and by means of said description, an engine adapter for the exchange of the information in the respective system-specific native format; and implementing said engine adapter on the integrating engine. The engine adapter may be an interface enabling the communication between the respective client adapter and the integrating engine. By the definitions contained in the description, the client adapter and the engine adapter may be generated as source code files which may be implemented on the hardware structure where the client adapter and the engine adapter, respectively, are located. Preferably, each of said client adapters is connected to a respective engine adapter via said primary connection and any arbitrary data protocol. Moreover, an access means may be provided for each client system. Such an access means may comprise an interface to be adopted by the respective client system for integration. This interface is tailored for the client system structure and the client system information at hand.
According to a further embodiment of the invention, the method comprises the further step of: providing a managing unit for monitoring said integrating engine and said client adapters. Preferably, said managing unit is implemented at said integrating engine or the user. By such a managing unit, the operation of the arrangement may be supervised and certain processes may be initiated. Furthermore, the method may comprise the further steps of: providing for each client system a control unit; implementing said control unit on the respective client systems; connecting said control units to said managing unit; and controlling the transfer of data through said client adapters by means of said control units via said managing unit.
According to a further embodiment of the invention, said describing and transferring step comprises describing interactively the client systems by a number of definitions onto a storing means in form of a primary database provided on said integrating platform. Such definitions may contain information on connected client systems, local representations of exchanged information, client system interface characteristics, client system infrastructure etc. The primary database may be a so-called repository database forming a meta model of the different client systems. The repository may remain as a description of all client systems during the operation of the integrated systems. Any change, i.e. upgrading, deletion or replacement, of a client system need only be added to the description, whereafter the integrating engine is changed accordingly in an automatic manner. Preferably, said definitions are transferred as a back-up copy from the primary database to the user via said network.
According to a further embodiment of the invention, said generating step comprises generating by means of said definitions on said integrating engine a transformation means arranged to transform the information published by each client system in the respective system-specific native format to at least one transformation format permitting subscription of the information from any other of the client systems. Furthermore, a secondary database is provided on the integrating engine, wherein said transformation means is implemented on said secondary database, as at least one software algorithm, as well as a table means for each system-specific native format of the client systems and for each specific type of the information to be communicated between the client systems. Thereby, the operating step comprises transferring a message of the information from one table means of one system-specific native format to another table means of another system-specific native format and thereby transforming the format of said message from said one system-specific format to another system-specific format. Each table means, forming the fundamental information carrying entity of the integrating engine, comprises table rows which each contains a piece of information from one of the client systems. At least one table means, forming a base table, may comprise a history log table storing all changes in a table row of said secondary database and an event log table storing all operations concerning the respective table means.
According to a further embodiment of the invention, the method comprises the further steps of: detecting a possible error in a message; storing the error-containing message in a table row of said history log table and in a table row of said event log table; and marking said table row to identify the error. Thereby, the error-containing message may be prevented from being transferred to another client system unless the error is corrected. In such a manner, an advantageous error handling is obtained, which involves the possibility to operate the arrangement although an error is detected on an operation, and transfer said operation to a client system when the error has been corrected. Said detecting means may be comprised by a trigger means arranged to initiate storing of the error-containing message on said history log table and on said event log table. The trigger means may comprise a database trigger. Preferably, said permitting means and said preventing means are comprised by said engine adapter.
The object is also obtained by a device for integrating an arrangement of a number of computerised client systems being independent of each other by permitting communication between the client systems, each client system having a system-specific structure and being adapted to process information in a system-specific native format, wherein the device comprises:
an integrating platform accessible to the client systems via a network arranged to permit a primary connection between a user and said integrating platform;
means provided at said integrating platform and arranged to permit the user to describe interactively the client systems to be integrated and transfer said description from the user to said integrating platform via said primary connection; and
means for generating by means of said description an integrating engine at said integrating platform and a number of communication connections for the exchange of the information between the client systems and said integrating engine, said integrating engine being arranged to integrate the client systems via said communication connections and said network and to permit operation of the arrangement, whereby the information in a system-specific format from one client system is processed in another system-specific format by another client system.
Preferred embodiments of the device are defined in the dependent claims 16 to 25.